package com.factory._16state;

/**
 * 状态模式
 *
 * FlowTask ：流程环节的抽象接口。相当于是状态的行为抽象。
 * Start、Middle、End：具体的流程环节实现，状态对应的具体行为。
 * WorkFlow ：状态的环境，用于执行状态对应的行为。
 *
 * 考察环境角色是否有明显的状态和状态的过度，如果环境角色只有一个状态，那么就应当使用策略模式；
 * 策略模式的特点是：
 * 一旦环境角色选择了一个具体策略类，那么在整个环境类里它都不会改变这个具体策略类
 * @author Qinye
 * @date 2023/8/13 17:54
 */
public class Test {
    public static void main(String[] args) {
        WorkFlow workFlow = new WorkFlow(new Start());
        workFlow.next();
        workFlow.back();
        workFlow.next();
        workFlow.next();
        workFlow.next();
    }
}
